package com.unittec.zk.sdk.auth.request;

import java.io.Serializable;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @description 添加菜单请求实体
 * @author chengjie
 * @date 2019/10/16
 */
@Data
public class Req101302 implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "父级Id")
    private String parentId;

    @NotBlank(message = "菜单英文名称不能为空")
    @ApiModelProperty(value = "菜单英文名称")
    private String name;

    @NotBlank(message = "菜单中文名称不能为空")
    @ApiModelProperty(value = "菜单中文名称")
    private String nameZh;

    @NotBlank(message = "菜单路径不能为空")
    @ApiModelProperty(value = "菜单路径")
    private String path;

    @NotBlank(message = "前端组件不能为空")
    @ApiModelProperty(value = "前端组件")
    private String component;

    @ApiModelProperty(value = "组件名字")
    private String componentName;

    @ApiModelProperty(value = "默认跳转地址")
    private String redirect;

    @NotNull(message = "菜单类型不能为空")
    @ApiModelProperty(value = "菜单类型(0=一级菜单，1=子菜单，2=按钮权限)")
    private Integer menuType;

    @ApiModelProperty(value = "菜单权限编码，例如：“sys:schedule:list,sys:schedule:info”,多个逗号隔开")
    private String perms;

    @NotBlank(message = "权限策略不能为空")
    @ApiModelProperty(value = "权限策略(1=启用，2=禁用)")
    private String permsType;

    @NotNull(message = "菜单排序不能为空")
    @ApiModelProperty(value = "菜单排序")
    private Integer sortNo;

    @ApiModelProperty(value = "聚合子路由(0=否，1=是)")
    private boolean alwaysShow;

    @ApiModelProperty(value = "菜单图标")
    private String icon;

    @ApiModelProperty(value = "是否路由菜单(0=否，1=是)")
    private boolean route;

    @ApiModelProperty(value = "是否叶子节点(0=否，1=是)")
    private boolean leaf;

    @ApiModelProperty(value = "是否缓存该页面(0=否，1=是)")
    private boolean keepAlive;

    @ApiModelProperty(value = "是否隐藏路由菜单(0=否，1=是)")
    private boolean hidden;

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "是否添加数据权限(0=否，1=是)")
    private Integer ruleFlag;

    @NotBlank(message = "平台Code不能为空")
    @ApiModelProperty(value = "平台Code")
    private String platformCode;

}
